Multimedia aggregation in an online social network

ABSTRACT

Multimedia content is featured on user pages of an online social network using embed codes that are generated using a configuration file associated with the source ID for the multimedia content and a content ID for the multimedia content. The configuration file, the source ID and the content ID are stored locally by the online social network so that any changes to the embed codes can be made by changing the configuration file associated with the source and regenerating the embed codes. By managing multimedia content in this manner, greater control can be exercised by the online social network over the multimedia content that are featured on its user pages.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 12/719,793, filed Mar. 8, 2010, and entitled “MultimediaAggregation In An Online Social Network,” which is a continuation ofU.S. patent application Ser. No. 11/682,678, filed Mar. 6, 2007, issuedas U.S. Pat. No. 7,680,882, and entitled “Multimedia Aggregation In AnOnline Social Network.”

BACKGROUND

The present invention generally relates to processing of online socialnetwork data, and more particularly, to a method and system for managingmultimedia content appearing on user pages of an online social network.

Over the past several years, the amount of multimedia content availableonline has increased dramatically. With access to cheap storage andhigher bandwidths, photo sharing sites and video sharing sites havebecome widely used. Sharing personal photos with families and friendsthrough one of these photo sharing sites is now commonplace. Theexplosion in video sharing is not so much attributable to the sharing ofpersonal video created by the user but the sharing of video created byanother person that the user finds particularly funny, interesting orinformative.

Video sharing is often done through e-mail. Typically, after viewing avideo, the user inputs e-mail addresses of those persons with whom theuser would like to share the video. In response, the video sharing sitesends an e-mail to such persons with a hyperlink to the video. Theperson receiving the e-mail can access the hyperlink to view the videoand share the video with other persons in the same manner. Videoviewership can increase very rapidly in this manner.

A less intrusive way of sharing video is through a profile or landingpage a user maintains at an online social network. When a user finds avideo that is particularly funny, interesting or informative, the userfeatures that video on his or her landing page at the online socialnetwork. As people visit the user's landing page at the online socialnetwork, they can watch the video from the user's landing page althoughthe actual video feed is from a third party source.

As more and more users at online social networks feature videos andother multimedia content on their landing pages, the task of managingthem has become a challenge to online social networks. One major reasonfor the difficulty in managing such multimedia content is that much ofit are not stored locally by the online social networks but are streamedfrom servers that host the multimedia content when they are accessed forviewing.

INTRODUCTION

The present invention provides a method and system for managingmultimedia content that appear on various user pages of an online socialnetwork. According to embodiments of the present invention, whenmultimedia content from a third party source is selected by a user to befeatured on his or her profile or landing page, source ID and content IDcorresponding to the featured multimedia content are stored locally in adatabase managed by the online social network, and an embed code foraccessing the featured multimedia content is generated using the sourceID and the content ID. The source ID is an identifier of the third partysource of the multimedia content and is associated with a configurationfile that is used in generating the embed code. The content ID is anidentifier for the multimedia content used by the third party source andis used as an input parameter when generating the embed code with theconfiguration file.

By managing multimedia content in accordance with embodiments of thepresent invention, greater control can be exercised by the online socialnetwork over the multimedia content that are featured in the landingpages of its users. For example, inappropriate content can be filteredeasily by searching for the source ID and content ID corresponding tothe inappropriate content and flagging them so that the embed code forsuch content will not be generated. Blocking an entire site is eveneasier. It just requires a change to the configuration filecorresponding to that site so that a web page displaying a message suchas “Access to the URL ****.com is not permitted.” can be generated inplace of the embed code. As another example, invalid links that arecaused by URL changes implemented by the source of the multimediacontent can be fixed easily by making the appropriate correction to suchsource's configuration file. After the correction is made to theconfiguration file, all embed codes generated using this configuration,file will have the correct URL.

A first embodiment of the present invention is directed to a method forgenerating a web page, e.g., a landing page of a user of an onlinesocial network, that includes a multimedia section in which multimediacontent from a third party source can be displayed. The method includesthe steps of receiving a user selection of multimedia content of a thirdparty source that is to be added to the multimedia section, storing asource ID associated with the third party source, storing a content IDassociated with the multimedia content, generating an embed code for themultimedia content using the source ID and the content ID, andgenerating the web page including the multimedia section using the embedcode. The embed code may be generated by executing a configuration fileassociated with the source ID, wherein the configuration file specifiesthe format of the embed code and the location of the third party source(e.g., its URL) associated with the source ID.

A second embodiment of the present invention is directed to a method forgenerating a web page for a user of the online social network, e.g., theuser's landing page, based on third party multimedia content aggregatedby other users of the online social network. The method includes thesteps of retrieving source IDs and content IDs of multimedia contentaggregated by other users of the online social network, selecting atleast one multimedia content aggregated by the other users of the onlinesocial network, generating an embed code for the selected multimediacontent using its source ID and the content ID, and generating the webpage using the embed code. The embed code may be generated by executinga configuration file associated with the source ID, wherein theconfiguration file specifies the format of the embed code and thelocation of the third party source associated with the source ID. Themultimedia content may be selected based on its popularity with otherusers of the online social network who are related to the user of theonline social network by N degrees of separation or less.

A third embodiment of the present invention is directed to a web servercomputer for an online social network. The web server computer includesa local database that stores content for a plurality of users of theonline social network, the content for each of the users includingprofile information and pointers to third party multimedia content, anda processing unit that is programmed to generate a landing page for eachof the users with the profile information and at least one pointer tothird party multimedia content. Each of the pointers to third partymultimedia content includes a source ID associated with a source of thethird party multimedia content and a content ID associated with thethird party multimedia content, and the landing page includes an embedcode for the third party multimedia content that is generated using thesource ID and the content ID.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the presentinvention can be understood in detail, a more particular description ofthe invention, briefly summarized above, may be had by reference toembodiments, some of which are illustrated in the appended drawings. Itis to be noted, however, that the appended drawings illustrate onlytypical embodiments of this invention and are therefore not to beconsidered limiting of its scope, for the invention may admit to otherequally effective embodiments.

FIG. 1 is a diagram that graphically represents the relationshipsbetween users of an online social network;

FIG. 2 is a block diagram illustrating components of a system formanaging an online social network and connections to this system from athird party server and client computers;

FIG. 3 is a schematic illustration of an example of a landing page for aparticular user and external content sources for the landing page;

FIG. 4 is a schematic illustration of a user landing page that has beengenerated in accordance with an embodiment of the present invention;

FIG. 5 is a flow diagram that illustrates the steps carried out togenerate a web page that includes embed codes for multimedia content;and

FIG. 6 is a schematic illustration of a user landing page that has beengenerated in accordance with another embodiment of the presentinvention.

DESCRIPTION OF PARTICULAR EMBODIMENT(S)

FIG. 1 is a graph representation of a social network centered on a givenindividual (ME). Other users of this social network include A-U whoseposition, relative to ME's, is referred to by the degree of separationbetween ME and each other user. Friends of ME, which includes A, B, andC, are separated from ME by one degree of separation (1 d/s). A friendof a friend of ME is separated from ME by 2 d/s. As shown, D, E, F, G,and H are each separated from ME by 2 d/s. A friend of a friend of afriend of ME is separated from ME by 3 d/s. FIG. 1 depicts all nodesseparated from ME by more than 3 degrees of separation as belonging tothe category ALL.

Degrees of separation in a social network are defined relative to anindividual. For example, in ME's social network, H and ME are separatedby 2 d/s, whereas in G's social network, H and G are separated by only 1d/s. Accordingly, each individual will have their own set of first,second and third degree relationships.

As those skilled in the art understand, an individual's social networkmay be extended to include nodes to an Nth degree of separation. As thenumber of degrees increases beyond three, however, the number of nodestypically grows at an explosive rate and quickly begins to mirror theALL set.

FIG. 2 is a block diagram illustrating a system 250 for creating andmanaging an online social network. The system 250 represents one exampleembodiment of a system for creating and managing an online socialnetwork, and includes an application server 251 and one or more graphservers 252. As known in the art, a server is a computer having aprocessing unit and system memory that is programmed to carry outcertain functions. The system 250 is connected to a network 260, e.g.,the Internet, and accessible over the network by a plurality of remotecomputers (only three of which are shown), collectively designated as270, and a third party server 280 that manage its user database 285 andcommunicate with the system 250 through an application programminginterface (API) 290 provided by the system 250. The system 250 isconnected to other third party servers (some of which communicate withthe system 250 through APIs provided by the system 250) but, forsimplicity, they are not shown in FIG. 2.

The application server 251 manages a user database 254, a relationshipdatabase 255, a search database 256, and other databases 257. The userdatabase 254 contains profile information for each of the user in theonline social network managed by the system 250. The profile informationmay include, among other things: a unique user identifier (user ID),name, age, gender, location, hometown, references to image files,listing of interests, attributes, and the like. The user database 254also contains information about groups (e.g., organizations, schoolalumni associations, family, etc.) that users have defined. The groupinformation may include, among other things: a unique group identifier(group ID), name, description of the group, and members of the group.The relationship database 255 stores for each user, the user IDs of allusers with whom the user has a direct relationship, i.e., direct friendsof the user who are users of the online social network. In addition, thecontents of the user database 254 are indexed and optimized for search,and stored in the search database 256. The other databases 257 mayinclude a multimedia content database and a database for storingtestimonials and various other information commonly stored in onlinesocial networks and communities. The user database 254, the relationshipdatabase 255, the search database 256, and the other databases 257 areupdated to reflect inputs of new user information and edits of existinguser information that are made through the remote computers 270.

The application server 251 also manages the information exchangerequests that it receives from the remote computers 270 over theInternet. The graph servers 252 receive a query from the applicationserver 251, process the query and return the query results to theapplication server 251. The graph servers 252 manage a representation ofthe social network for all users in the member database. The graphservers 252 have a dedicated memory device 253, such as a random accessmemory (RAM), in which an adjacency list that indicates all first degreerelationships in the social network is stored. The graph servers 252respond to requests from application server 251 to identifyrelationships and the degree of separation between users of the onlinesocial network. The application server 251 is further configured toreceive data feeds, e.g., RSS feeds, from a third party server 280through an application programming interface (API) 290 that thirdparties may use to send data to the application server 251 for storagein one of the databases managed by the application server 251.

In the embodiments of the present invention described below, users arerespectively operating the remote computers 270 that are programmed toexecute web browser programs, and access the web pages managed by theapplication server 251 using the web browser programs. The web pagesthat are displayed to a user are transmitted from the application server251 to that user's remote computer and processed by the web browserprogram stored in that user's remote computer for display through themonitor of that user's remote computer.

FIG. 3 schematically illustrates a web page that functions as a profileor landing page for a particular user in an online social network andexternal content sources for the landing page. This landing page can beaccessed several ways. First, it can be accessed from within the onlinesocial network by the user when the user logs into the online socialnetwork and navigates to this web page or by other users who clicks on auser ID or an image associated with this user. Second, it can beaccessed directly by typing in the associated URL into a web browser.Third, this page may be opened up to web crawlers of search engines andaccessed when a user clicks on a search result that is hyperlinked tothis page.

The web page shown in FIG. 3 includes multiple sections that containdifferent categories of content associated with the user. The user'sprofile information is provided in section 310. A list of the user'sfriends in the online social network and hyperlinks to their landingpages are provided in section 315. Section 320 displays the user's blog.In this example, the user is maintaining a blog at an external web site361, e.g., Xanga.com, and the content of his or her blog is suppliedfrom the external web site using an RSS feed. In a similar manner, thecontent of the user's pictures that is displayed in section 330 issupplied from an external web site 362 (e.g., Flickr) using an RSS feed,and the content of the user's videos that is displayed in section 340 issupplied from an external web site 363 (e.g., YouTube) using an RSSfeed.

As a way to minimize the number of times an external web site isaccessed for the necessary RSS feeds, all RSS feeds from external websites are stored in a cache storage unit 350. All RSS feeds are alsoassigned a minimum lifetime and a maximum lifetime. When a landing pageof a user is accessed and the landing page contains sections that relyon RSS feeds, the lifetime of each such RSS feed is checked. If it isbelow its minimum lifetime, the last cached version of the RSS feed isaccessed. If it has exceeded the minimum lifetime, a query is issued tothe external web site for the latest information. On a global basis,whenever an RSS feed reaches its maximum lifetime, a query is issued tothe external web site for the latest information.

The query that is issued to an external web site for content associatedwith a user includes the user ID and password of that user as proof thataccess to the user's account maintained by the external web site isauthorized. The user ID and password are provided by the user when theuser sets up his or her landing page to retrieve content from externalweb sites through RSS feeds. The issued query is kept hidden at the userlevel and preferably encoded or encrypted so that the user ID andpassword contained in the query can be kept confidential.

FIG. 4 schematically illustrates a user landing page that has beengenerated in accordance with an embodiment of the present invention. Theweb page depicted in FIG. 4 is the same as the web page depicted in FIG.3 except that the user video section is generated differently. In theembodiment of FIG. 4, the videos that are featured in section 440 arenot stored in the cache storage unit 350 but are streamed in from anexternal, third party source. Thus, when a user clicks on a videothumbnail image 441, 442, or 443 to view the video, the video is notsupplied from the cache storage unit 350 but is streamed directly from acorresponding one of external video sites 451, 452, 453. The directstreaming from the external video sites 451, 452, 453 is enabled usingembed codes having the following general format:

-   -   <embed src=“http://videosite.com/vid.swf?id=12345”></embed>.

The embed codes that enable direct streaming from the external videosites 451, 452, 453 are typically made available by the external videosites 451, 452, 453 for pasting into the HTML file corresponding to auser's landing page, such as the one shown in FIG. 4. The process mayeven be automated so that the embed code is automatically pasted intothe HTML file corresponding to a user's landing page. This would occur,for example, when a user visits an external video site, views a video atthe external video site, and indicates that he or she would like to addthe video to his or her landing page at an online social network.

In the embodiments of the present invention, embed codes for video filesare generated from a source ID (which identifies the external source ofthe video file) and a content ID (which is an identifier of the videofile used by the external source) using configuration files having thefollowing general format:

-   -   videosite=<embed src=“http://videosite.com/vid.swf?id=% ID        %”></embed>.

The parameter “% ID %” signifies a variable field into which the contentID is inserted. The source ID points to the configuration file to use,because different configuration files are provided for differentexternal video sites. For example, each of videosite1, videosite2 andvideosite3 has its own configuration file, as shown below:

-   -   videosite1=<embed src=“http://videosite1.com/vid.swf?id=% ID        %”></embed>    -   videosite2=<embed src=“http://videosite2.com/vid.swf?id=% ID        %”></embed>    -   videosite3=<embed src=“http://videosite3.com/vid.swf?id=% ID        %”></embed>

As an example, if the source ID=“videosite3” and the content ID=“51515”for a video file, the embed code corresponding to that video file wouldbe generated as:

-   -   <embed src=“http://videosite3.com/vid.swf?id=51515”></embed>.

FIG. 5 is a flow diagram that illustrates the steps carried out togenerate an HTML file that includes embed codes for the user's videos.In the flow diagram of FIG. 5, steps 510-518 are carried out by theserver computer of the external video site and steps 520-524 are carriedout by the server computer of the online social network. Referring backto FIG. 2, the server computer of the online social network correspondsto the system 250 and the server computer of the external video sitecorresponds to the third party server 250 connected to a database 285and configured with an API 290 that is provided by the online socialnetwork.

In step 510, the user navigates to an external video site and selects avideo for viewing. In response to this selection, the video is streamedto the user's computer and displayed to the user (step 512). The user'sdisplay includes a hyperlink “Post to Friendster.” This hyperlinkpermits the user to feature this video on the user's landing page at theonline social network, Friendster. In step 514, the user selects thehyperlink “Post to Friendster.” In response to this selection, the useris prompted in step 516 for user ID and password corresponding to theuser's account at the online social network. Upon submission of thisinformation, the external video site transmits this information alongwith the particulars of the video file, such as the source ID (whichidentifies the external video site that is hosting the video file) andthe content ID (which is an identifier of the video file used by theexternal video site) to the online social network, and various otherdata (step 518). Steps 516 and 518 are carried out using the API 290provided by the online social network.

In step 520, the online social network authenticates the user ID againstthe password using the information stored in its user database. If theuser ID is authenticated, i.e., the password matches the password forthe user ID stored in the user database, the particulars of the videofile are stored in the multimedia content database of the online socialnetwork along with the user ID (step 522). The following tableconceptually illustrates the arrangement of the data that is stored inthe multimedia content database.

User ID Source ID Content ID Thumbnail Tags Description Williamvideosite1 12345 video1.jpg funny, A compilation dogs showing a numberdogs of funny dog tricks. William videosite2 12345 video2.jpg tennis Anincredible shot executed by RogerFederer. William videosite3 51515video3.jpg food, Hot dog eating contest contest held in contestHonolulu, HI in 2006. Jeff videosite2 33221 video4.jpg soccer Acompilation of incredible soccer moments.

In the table shown above, each row represents data associated with asingle video file. “Source ID” indicates the external video site that ishosting this video file and identifies the configuration file to be usedin generating the embed code for this video file. “Content ID” indicatesthe unique ID used by the external video site to identify this videofile and is used as an input parameter when generating the embed codefor this video file. “Thumbnail” indicates the memory location of thethumbnail image corresponding to this video file. One or more entriesunder “Tags” indicate descriptive keywords associated with this videofile. The entry under “Description” provides a brief description of thecontent of this video file. The particulars of the video file that aretransmitted from the external video site to the online social networkare controlled by the API 290.

When a landing page of a user, such as the one shown in FIG. 4, isgenerated, it is generated from an HTML file corresponding to thelanding page that is stored in the cache storage unit 350. This HTMLfile includes embed codes corresponding to any third party video that isfeatured by the user in section 440. In step 524, the embed codescorresponding to the featured third party videos are generated andinserted into the HTML file corresponding to user's landing page. Duringthis generation step, the multimedia content database is checked forvideo file entries associated with the user that has an update flag set(i.e., equal to 1). For all video file entries that meet theseconditions, the embed code corresponding to such entries will begenerated using a configuration file identified by that entry's sourceID and inserted into the HTML file corresponding to the user's landingpage. After the generation step is carried out for the user, the updateflag of all video file entries of the user is set to 0.

The generation step may be carried out on-the-fly each time the landingpage of the user is requested. It is, however, preferable to carry outthe generation step according to a predetermined schedule so as toconserve computational resources. For example, the generation step isnot carried out when none of the video file entries associated with theuser's landing page has an update flag that is equal to 1, but iscarried out when there is at least one video file entry with an updateflag that is equal to 1.

When a user selects a third party video for viewing from a web pagewithin the online social network (e.g., a landing page of another useror a video search page), the user may watch the third party video at theweb page within the online social network without navigating to thethird party's web site. When the user does this, a hyperlink “Add toProfile” appears alongside the video display. This hyperlink permits theuser to feature the video he or she is watching on the user's landingpage. In response to this selection, the source ID, the content ID, andthe particulars of this video file are stored in the multimedia contentdatabase of the online social network along with the user ID of thisuser.

FIG. 6 schematically illustrates a user landing page that has beengenerated in accordance with another embodiment of the presentinvention. The web page depicted in FIG. 6 is the same as the web pagedepicted in FIG. 4 except it has an additional section 610 that featuresone or more videos 611 that have been determined to be popular withother users of the online social network who are related to the user byN degrees of separation or less, where N is typically 1 or 2 but can beany positive integer. The videos 611 that are featured in section 610are generated in the same manner as the videos that are featured insection 440. The differences between the featured videos in section 610and the featured videos in section 440 are: (1) the featured location onthe landing page, and (2) the decision criteria that are used by theonline social network in determining whether or not to feature thevideo.

In the simplest implementation, a single video is featured in section610 and this video represents the video that is the most popular withfirst degree friends of the user (i.e., those users who are one degreeof separation away). The popularity may be based on their adoption (mostoften added to a landing page) or their viewership (most often viewed),or a combination of the two. When two or more videos are featured insection 610, the videos may be featured in the order of their rank withonly the top N videos featured (where N can be any plural integer).

In an alternative implementation, a video's popularity with all users ofthe online social network, up to a predetermined degree of separation(e.g., 2, 3, or N), is considered. In this implementation, the video'spopularity with first degree friends may be weighted more than thevideo's popularity with second degree friends, and the video'spopularity with second degree friends may be weighted more than thevideo's popularity with third degree friends, and so forth.

By managing multimedia content in accordance with embodiments of thepresent invention described above, greater control can be exercised bythe online social network over the multimedia content that are featuredin the landing pages of its users. For example, inappropriate multimediacontent can be filtered easily by searching for the source ID andcontent ID corresponding to the inappropriate multimedia content in themultimedia content database and flagging them so that the next time auser page that features such multimedia content is accessed, the embedcode for such multimedia content will not be inserted into that userpage.

As another example, an entire site can be blocked. Assuming the sourceID for the site to be blocked is videosite4, this can be done bymodifying the configuration file associated with that site from:

-   -   videosite4=<embed src=“http://videosite4.com/vid.swf?id=% ID        %”></embed>        -   to:    -   videosite4=<p>Access to the URL videosite4.com is not        permitted.</p>

Invalid links that are caused by URL changes implemented by the sourceof the multimedia content also can be fixed easily with the embodimentsof the present invention. For example, if the source of the multimediacontent (source ID=videosite5) changes the URL for accessing its videosfrom videosite5.com/vid.swf?id=xxx to videosite5.com/en/v.swf?id=xxx,the configuration file for videosite5 is changed in a similar mannerfrom:

-   -   videosite5=<embed src=“http://videosite5.com/vid.swf?id=% ID        %”></embed>        -   to:    -   videosite5=<embed src=“http://videosite5.com/en/v.swf?id=% ID        %”></embed>

After this change is made to the configuration file, all video fileentries having source ID=videosite5 will have their update flags set to1 so as to cause embed codes for all multimedia content from videosite5to be regenerated when user pages that feature such multimedia contentis subsequently accessed.

In the embodiments of the present invention described above, RSS feedsare described as the mechanism for transmitting content between thethird party servers and the server computer of the online socialnetwork. Other types of web feeds may be employed with the presentinvention. Some of these examples include atom feeds and feeds based onthe SOAP protocol. Also, the embed codes shown above are HTML embedcodes. The present invention is, however, not limited to any particulartype of embed codes, and may be practiced with embed codes for anymarkup language for creation of web pages.

In addition, in the embodiments of the present invention describedabove, video content that includes video and audio is provided as anexample of the multimedia content. In general, multimedia is media thatuses multiple forms of information content, and multimedia content ismedia content that includes multiple forms of information content.

While particular embodiments according to the invention have beenillustrated and described above, those skilled in the art understandthat the invention can take a variety of forms and embodiments withinthe scope of the appended claims.

What is claimed is:
 1. A method comprising, by one or more processorsassociated with one or more third-party application servers: receiving,by the one or more third-party application servers, a first request froma first user of an online social network to view a selected video,wherein the received first request is sent from a client device of thefirst user, wherein the third-party application servers are communicablyconnected with the online social network; sending, by the one or morethird-party application servers, information to the client device inresponse to the first request, wherein the information is configured tocause the selected video and an associated posting control element to bedisplayed on the client device in a first web page associated with thethird-party application server; receiving, by the one or morethird-party application servers, an indication of an activation by thefirst user of the posting control element associated with the selectedvideo; generating, by the one or more third-party application servers, asecond request for sharing the selected video on the online socialnetwork in response to the received indication of the activation, thesecond request comprising a source ID and a content ID associated withthe selected video; determining, by the one or more third-partyapplication servers, that the first user has been authenticated withrespect to the online social network by sending authenticationinformation from the third-party application servers to the onlinesocial network and receiving an indication that the user has beenauthenticated by the online social network; sending, by the one or morethird-party application servers, the second request to the online socialnetwork in response to the determination that the first user has beenauthenticated with respect to the online social network, wherein thesecond request is configured to cause the online social network toinclude an embed code to the selected video in a second web page of theonline social network, wherein the embed code is generated using aconfiguration file associated with the source ID, wherein theconfiguration file specifies a format of the embed code and has avariable field into which the content ID is inserted; receiving, by theone or more third-party application servers, a third request from asecond user of the online social network to view the selected videothrough the second web page of the online social network, wherein thethird request is received from the online social network, wherein thesecond user is connected to the first user in the online social network;and sending, by the one or more third-party application servers, theselected video to the online social network for display to the seconduser.
 2. The method of claim 1, further comprising: sending informationto prompt the first user to submit a user ID and password toauthenticate to the online social network; and receiving user inputrepresenting the user ID and password.
 3. The method of claim 1, furthercomprising storing information associated with the video in a multimediadatabase.
 4. The method of claim 1, wherein the second web page is aprofile page associated with the first user.
 5. The method of claim 1,wherein the selected video is streamed from the third-party applicationservers.
 6. The method of claim 1, wherein the second web page is alanding page of the online social network.
 7. The method of claim 1,wherein the selected video is hosted by the third-party applicationservers.
 8. The method of claim 1, further comprising: accessing asocial graph comprising a plurality of nodes and a plurality of edgesconnecting the nodes, each of one or more of the nodes being associatedwith one of a plurality of users of an online social network, eachconnection between two nodes representing a relationship between the twonodes and establishing a single degree of separation between the twonodes.
 9. The method of claim 8, wherein: the first user is associatedwith a first node of the plurality of nodes, and the second user isassociated with a second node of the plurality of nodes.
 10. The methodof claim 9, wherein the second node is within one, two, three, or anydegree of separation from the first node.
 11. The method of claim 1,further comprising: sending information to display the selected video onthe second web page in response to the third request.
 12. The method ofclaim 1, wherein the second web page is a user profile page of the firstuser on the online social network comprising user profile informationassociated with the first user and a link for the selected video.
 13. Asystem, comprising: one or more non-transitory machine-readable storagemedia encoded with instructions; and one or more processors associatedwith one or more third-party application servers, the processors beingconfigured to execute the instructions to: receive a first request froma first user of an online social network to view a selected video,wherein the received first request is sent from a client device of thefirst user, wherein the third-party application servers are communicablyconnected with the online social network; send information to the clientdevice in response to the first request, wherein the information isconfigured to cause the selected video and an associated posting controlelement to be displayed on the client device in a first web pageassociated with the third-party application server; receive anindication of an activation by the first user of the posting controlelement associated with the selected video; generate a second requestfor sharing the selected video on the online social network in responseto the received indication of the activation, the second requestcomprising a source ID and a content ID associated with the selectedvideo; determine that the first user has been authenticated with respectto the online social network by sending authentication information fromthe third-party application servers to the online social network andreceiving an indication that the user has been authenticated by theonline social network; send the second request to the online socialnetwork in response to the determination that the first user has beenauthenticated with respect to the online social network, wherein thesecond request is configured to cause the online social network toinclude an embed code to the selected video in a second web page of theonline social network, wherein the embed code is generated using aconfiguration file associated with the source ID, wherein theconfiguration file specifies a format of the embed code and has avariable field into which the content ID is inserted; receive a thirdrequest from a second user of the online social network to view theselected video through the second web page of the online social network,wherein the third request is received from the online social network,wherein the second user is connected to the first user in the onlinesocial network; and send the selected video to the online social networkfor display to the second user.
 14. One or more computer-readablenon-transitory storage media embodying software that is operable whenexecuted by one or more processors associated with one or morethird-party application servers to: receive a first request from a firstuser of an online social network to view a selected video, wherein thereceived first request is sent from a client device of the first user,wherein the third-party application servers are communicably connectedwith the online social network; send information to the client device inresponse to the first request, wherein the information is configured tocause the selected video and an associated posting control element to bedisplayed on the client device in a first web page associated with thethird-party application server; receive an indication of an activationby the first user of the posting control element associated with theselected video; generate a second request for sharing the selected videoon the online social network in response to the received indication ofthe activation, the second request comprising a source ID and a contentID associated with the selected video; determine that the first user hasbeen authenticated with respect to the online social network by sendingauthentication information from the third-party application servers tothe online social network and receiving an indication that the user hasbeen authenticated by the online social network; send the second requestto the online social network in response to the determination that thefirst user has been authenticated with respect to the online socialnetwork, wherein the second request is configured to cause the onlinesocial network to include an embed code to the selected video in asecond web page of the online social network, wherein the embed code isgenerated using a configuration file associated with the source ID,wherein the configuration file specifies a format of the embed code andhas a variable field into which the content ID is inserted; receive athird request from a second user of the online social network to viewthe selected video through the second web page of the online socialnetwork, wherein the third request is received from the online socialnetwork, wherein the second user is connected to the first user in theonline social network; and send the selected video to the online socialnetwork for display to the second user.